package br.edu.fanor.esfinge.dao.impl;

import java.util.List;

import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import br.edu.fanor.esfinge.dao.UsuarioDAO;
import br.edu.fanor.esfinge.entity.Usuarios;

@Stateless(mappedName="ejb/Usuario")
@TransactionAttribute(TransactionAttributeType.REQUIRED)

public class UsuarioDAOImpl implements UsuarioDAO {
	
	@PersistenceContext
	private EntityManager em;

	@Override
	public Usuarios inserir(Usuarios usuario) {
		em.persist(usuario);
		return usuario;
	}

	@Override
	public Usuarios buscarPorId(Long id) {
		return em.find(Usuarios.class, id);
	}

	@Override
	public Usuarios atualizar(Usuarios usuario) {
		em.merge(usuario);
		return usuario;
	}

	@Override
	public void remover(Usuarios usuario) {
		em.remove(usuario);
				
	}

	//entender
	@SuppressWarnings("unchecked")
	@Override
	public List<Usuarios> buscarUsuariosPorNome(String nome) {
		Query query = em.createNamedQuery("select u from Usuarios u where nome like #nome");
		query.setParameter("nome", nome);
		return query.getResultList();
	}
	
	
		
	

}
